課程資訊
課程名稱
平行與分散式程式設計
Parallel and Distributed Programming 
開課學期
100-1 
授課對象
電機資訊學院  資訊工程學研究所  
授課教師
洪士灝 
課號
CSIE7210 
課程識別碼
922 U3970 
班次
 
學分
全/半年
半年 
必/選修
選修 
上課時間
星期二6,7,8(13:20~16:20) 
上課地點
資107 
備註
總人數上限:30人 
Ceiba 課程網頁
http://ceiba.ntu.edu.tw/1001PDP2011F 
課程簡介影片
 
核心能力關聯
核心能力與課程規劃關聯圖
課程大綱
為確保您我的權利,請尊重智慧財產權及不得非法影印
課程概述

『平行與分散式程式設計』為運用多處理機系統與雲端運算平台所必備的知識與技能,本課程教授平行程式設計與分散式雲端運算相關技術,包括常見的平行與分散式程式設計語言,如MPI, OpenMP, CUDA, MapReduce等,使學生能應用多處理機系統與雲端運算平台。本課程為大學部高年級與研究所選修課程,除了課程講授之外,也要求學生自行研讀教材,進行實驗,尋找研究題材,以及完成期末專題。 

課程目標
本課程的目標在於讓修課同學:
- 學習平行化程式及演算法
- 使用MPI, OpenMP, CUDA, MapReduce等平行程式語言開發程式
- 在雲端計算平台實作平行化程式,以瞭解雲端計算相關之效能要素
- 培養尋找研究題材與進行研究之專業能力 
課程要求
本課程為大學部高年級與研究所選修課程,除了課程講授之外,也要求學生自行研讀教材,進行實驗,以及設計期末專題。學生需具備下列課程基礎:
- 計算機結構
- 程式設計
- 作業系統 
預期每週課後學習時數
 
Office Hours
 
指定閱讀
1. Peter Pacheco, An Introduction to Parallel Programming, Elsevier, 2011. ISBN: 9780123742605

 
參考書目
1. Hesham El-Rewini and Mostafa Abo-El-Barr, Advanced Computer Architecture and Parallel Processing, Wiley, 2005
2. Jason Sanders and Edward Kandrot, CUDA by Example: An Introduction to General-Purpose GPU Programming, Addison-Wesley, 2011
3. Jimmy Lin and Chris Dyer. Data-Intensive Text Processing with MapReduce. Morgan and Claypool Publishers, 2010.
 
評量方式
(僅供參考)
 
No.
項目
百分比
說明
1. 
Final Project 
30% 
 
2. 
Research Survey 
20% 
 
3. 
Exercises 
30% 
 
4. 
Participation 
20% 
Discussion, Quiz 
 
課程進度
週次
日期
單元主題
第1週
2011/09/13  Introduction 
第2週
2001/09/20  Parallel Hardware and Parallel Software (1) 
第3週
2011/09/27  Parallel Hardware and Parallel Software (2) 
第4週
2011/10/04  Distributed-Memory Programming with MPI 
第5週
2011/10/11  MPI (continued) 
第6週
2011/10/18  Shared-Memory Programming with Pthreads and OpenMP 
第7週
2011/10/25  Shared-Memory Programming with Pthreads and OpenMP (II) 
第8週
2011/11/01  Basic MapReduce Programming 
第9週
2011/11/08  教師出國參加學術會議,由助教帶領討論作業,講解PThreads,以及由研究生介紹與課程相關的研究專題 
第10週
2011/11/15  校慶放假一天 
第11週
2011/11/22  MapReduce 
第12週
2011/11/29  MapReduce, Data Parallel Programming, CUDA 
第13週
2011/12/06  Presentation of Final Project Proposals 
第14週
2011/12/13  CUDA 
第15週
2011/12/20  Parallel Computer Architecture 
第16週
2011/12/27  Mobile Cloud Computing, Machine-to-Machine (M2M), Internet of Things (IoT) 
第17週
2012/01/03  Future Trends 
第18週
2012/01/10  Final Project Demo 
第19週
2012/01/16  Final Project Report. The sample files are posted. PaperSample.docx is the suggested format. The other 3 files are the better reports from the previous semester.